﻿var edit = -1;
var permissao;
$(document).ready(function () {
    $(".nav li").removeClass("active");
    $(".nav li.cliente").addClass("active");

    var width = $(".container").width();

    var colModel = [
            { display: 'CÓD', name: 'id_cliente', width: width * 0.08, sortable: true, align: 'center' },
            { display: 'Nome', name: 'nome', width: width * 0.30, sortable: true, align: 'left' },
            { display: 'telefone 1', name: 'telefone1', width: width * 0.16, sortable: true, align: 'center' },
            { display: 'telefone 2', name: 'telefone2', width: width * 0.16, sortable: true, align: 'center' },
            { display: 'email', name: 'email', width: width * 0.24, sortable: true, align: 'center' }
    ];

    var buttons = [
            { name: 'Adicionar', bclass: 'add', onpress: addToTable },
            { name: 'Editar', bclass: 'edit', onpress: editTable },
            { name: 'Remover', bclass: 'delete', onpress: deleteFromTable },
            { name: 'Créditos', bclass: 'find', onpress: consultarSaldoCliente },
            { name: 'Carnês Pendentes', bclass: 'cash', onpress: function () { document.location = "TratamentoSemCarne.aspx"; } }
    ];
    
    var searchitems = [
        { display: 'CÓD', name: 'id_cliente' },
        { display: 'Nome', name: 'nome', isdefault: true }
    ];

    insereGrid("grid", "CadastroCliente.aspx/getDados", colModel, buttons, searchitems, "Clientes", "id_cliente", "asc", true, width, parseInt(screen.availHeight * 0.49));

    $("#Data").mask("99/99/9999");
    $("#cpf").mask("999.999.999-99");
    $("#Telefone_1").mask("(99) 9999-9999");
    $("#Telefone_2").mask("(99) 9999-9999");
    $("#cep").mask("99.999-999");
    
    permissao = getPermissao();

    if (permissao != 2)
        $(".fbutton:eq(4)").hide();
});

function getPermissao() {
    var ret;
    $.ajax({
        type: 'POST',
        url: 'Comparecimento.aspx/getPermissao',
        dataType: 'json',
        async: false,
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            ret = data.d;
        }
    });
    return ret;
}

function zerarCampos() {
    $('#cep').val("");
    $('#uf').val("");
    $('#cidade').val("");
    $('#bairro').val("");
    $('#numero').val("");
    $('#rua').val("");
    document.getElementById("selectID").selectedIndex = 0;
}

function addToTable() {
    if (edit==-1)
        zerarCampos();
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        //document.getElementById("selectID").selectedIndex = 0;
        $('#formulario').modal('show');
        $('#tabCadastro a:first').tab('show');
    }
}

function verificaCampos(nome, cpf) {
    if ((nome === "") || (cpf === "")) {
        alert("Os Campos *Nome e *CPF não podem ser vazios");
        return false;
    } else {
        return true;
    }
}

function ConfirmAddButton() {

    var registro = "";
    var nome = $("#nome").val();
    var cpf = $("#cpf").val();

    registro += $("#nome").val() + "|";
    registro += $("#cpf").val() + "|";
    registro += $("#rg").val() + "|";
    registro += $("#Data").val() + "|";
    registro += $("#Telefone_1").val() + "|";
    registro += $("#Telefone_2").val() + "|";
    registro += $("#email").val() + "|";
    registro += $("#selectID").val() + "|";
    registro += $("#conteudo_clinica").val() + "#";
    registro += $("#rua").val() + "|";
    registro += $("#numero").val() + "|";
    registro += $("#bairro").val() + "|";
    registro += $("#cidade").val() + "|";
    registro += $("#uf").val() + "|";
    registro += $("#cep").val();


    if (verificaCampos(nome, cpf)) {
        $.ajax({
            type: 'POST',
            url: 'Principal.aspx/confereData',
            data: "{data:'" + $("#Data").val() + "'}",
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                if (data.d == "ok") {
                    if (edit == -1) {
                        $.ajax({
                            type: 'POST',
                            url: 'CadastroCliente.aspx/addToTable',
                            data: "{dados:'" + registro + "'}",
                            dataType: 'json',
                            contentType: "application/json; charset=utf-8",
                            success: function (data) {
                                if (data.d == "CPF")
                                    alert("CPF Já cadastrado");
                                else {
                                    $("#selectID").append(data.d);
                                    $("#grid").flexReload();
                                    zerarCampos
                                    CancelButton();

                                }
                            }
                        });
                    }
                    else {
                        $.ajax({
                            type: 'POST',
                            url: 'CadastroCliente.aspx/editTable',
                            data: "{id:" + edit + ", dados:'" + registro + "'}",
                            dataType: 'json',
                            contentType: "application/json; charset=utf-8",
                            success: function (data) {
                                $("#grid").flexReload();
                                edit = -1;
                                CancelButton();
                            }
                        });
                    }
                }
                else {
                    alert("Data Inválida");
                }
            }
        });
    } else {
        //alert("Todos os Campos são Obrigatórios");
    }
    
}

function CancelButton() {
    edit = -1;
    $("#formulario").modal('toggle');
    $(".tab-pane input").val('');
}

function editTable() {
    zerarCampos();
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        var id = $(".flexigrid .trSelected td:eq(0)").text();
        if (id == "")
            alert('Nenhum paciente foi selecionado para edição');
        else {
            $.ajax({
                type: 'POST',
                url: 'CadastroCliente.aspx/getDataFromClient',
                data: "{id:" + id + "}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    if (data.d != "") {
                        var retorno = data.d.split('#');
                        var client = retorno[0].split('|');
                        var endereco = retorno[1].split('|');

                        if (retorno.length = 3) {
                            var index = 0;
                            var comparacoes = "";
                            $("#selectID option").each(function () {
                                if ($(this).attr('value') == retorno[2]) {
                                    document.getElementById("selectID").selectedIndex = index;
                                    //alert($(this).attr('value'));
                                }
                                ++index;
                            });
                        }
                        else
                            document.getElementById("selectID").selectedIndex = 0;

                        var index = 0;
                        if (client[7] == "-1")
                            document.getElementById("clinica").selectedIndex = -1;
                        else {
                            //alert(retorno[2]);
                            $("#conteudo_clinica option").each(function () {
                                if ($(this).attr('value') == client[7])
                                    document.getElementById("conteudo_clinica").selectedIndex = index;
                                ++index;
                            });
                        }
                        
                        $("#nome").val(client[0]);
                        $("#cpf").val(client[2]);
                        $("#rg").val(client[3]);
                        $("#Data").val(client[1]);
                        $("#Telefone_1").val(client[4]);
                        $("#Telefone_2").val(client[5]);
                        $("#email").val(client[6]);

                        $("#rua").val(endereco[0]);
                        $("#numero").val(endereco[1]);
                        $("#bairro").val(endereco[3]);
                        $("#cidade").val(endereco[2]);
                        $("#uf").val(endereco[4]);
                        $("#cep").val(endereco[5]);

                        edit = id;
                        addToTable();
                    }
                }
            });
        }
    }
}

function getClienteNome(id) {
    var ret;
    
    $.ajax({
        type: 'POST',
        url: 'CadastroCliente.aspx/getClienteNome',
        data: "{id:'" + id + "'}",
        dataType: 'json',
        async: false,
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            ret = data.d;
        }
    });
    return ret;
}

function deleteFromTable() {
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        var id = $(".flexigrid .trSelected td:eq(0)").text();
        if (id == "")
            alert('Nenhum paciente foi selecionado para exclusão');
        else if (confirm('Todas as informações do Paciente selecionado serão excluídas')) {
            $.ajax({
                type: 'POST',
                url: 'CadastroCliente.aspx/deleteFromTable',
                data: "{id:" + id + "}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    $("#grid").flexReload();
                }
            });
        }
    }
}

function consultarSaldoCliente() {
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        var id = $(".flexigrid .trSelected td:eq(0)").text();
        var nome = $(".flexigrid .trSelected td:eq(1)").text();
        if (id == "")
            alert('Nenhum paciente foi selecionado para consulta');
        else {
            $.ajax({
                type: 'POST',
                url: 'CadastroCliente.aspx/abreSaldo',
                data: "{id:" + id + ", nome:'" + nome + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    window.location.href = "../Client/IndicacaoPremiada.aspx";
                }
            });
        }
    }
}